package cn.trigram.bean;

import java.util.Comparator;
import java.util.List;
import java.util.Map;
import mockit.Injectable;
import org.checkerframework.common.value.qual.IntVal;

public interface ParentInterface<A extends Number, B extends Comparator<A>> {

  void retVoid();

  int retInt();

  Integer retInteger();

  A retA();

  int compare(B b);

  default void defaultImplMethod() {}

  <K, R> R retParamType(Map<K, List<B>> map);

  List<List<A>> retListParamType();

  void paramAnnos(
      @IntVal({1L})
          @Injectable
          String v, @IntVal({1L}) A a
  );


}
